﻿#ifndef NSSHARE_SYS_ASYNC_CALLBACK_H_
#define NSSHARE_SYS_ASYNC_CALLBACK_H_

#include "../platform.h"
#include "../base/base_object.h"

namespace nsshare
{
namespace sys
{

class Event;

class AsyncEventArgs : public base::BaseObject
{
protected:
    AsyncEventArgs();
    AsyncEventArgs(const Event & e);
public:
    void * user_token() const;

    void set_user_token(void * token);

    void SuppressIOCP();
protected:
    OVERLAPPED overlapped_;
    void * user_token_;
};

}
}

#endif